// 缓存结果
function memoize(fn) {
  let cache = {}
  return function () {
    let key = JSON.stringify(arguments)
    cache[key] = cache[key] || fn.apply(this, arguments)
    return cache[key]
  }
}
// 纯函数 让测试更方便
// 方便并行处理